'\" t
.\"     Title: dbwrap_tool
.\"    Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 12/01/2024
.\"    Manual: System Administration tools
.\"    Source: Samba 4.21.2-Debian-4.21.2+dfsg-3~bpo12+1
.\"  Language: English
.\"
.TH "DBWRAP_TOOL" "1" "12/01/2024" "Samba 4\&.21\&.2\-Debian\-4\&.21\&.2+dfs" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
dbwrap_tool \- low level TDB/CTDB manipulation tool using the dbwrap interface
.SH "SYNOPSIS"
.HP \w'\ 'u
dbwrap_tool [\-?|\-\-help] [\-\-usage] [\-\-persistent] [\-\-non\-persistent] [\-d|\-\-debuglevel=DEBUGLEVEL] [\-\-debug\-stdout] [\-\-configfile=CONFIGFILE] [\-\-option=name=value] [\-l|\-\-log\-basename=LOGFILEBASE] [\-\-leak\-report] [\-\-leak\-report\-full] {<database>} {<operation>} [<key>\ [<type>\ [<value>]]]
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(7)
suite\&.
.PP
The dbwrap_tool program is used to read and manipulate TDB/CTDB databases using the dbwrap interface\&.
.PP
The following database operations are available:
.RS
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
fetch: fetch a record
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
store: create or modify a record
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
delete: remove a record
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
exists: test for existence of a record
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
erase: remove all records
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
listkeys: list all available records
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
listwatchers: list processes, which are waiting for changes in a record
.RE
.sp
.RE
.PP
The following types are available:
.RS
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
int32: signed 32bit integer
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
uint32: unsigned 32bit integer
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
string: "hello world"
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
hex: hex strings like "68656C6C6F20776F726C6400" ("hello world")
.RE
.sp
.RE
.SH "OPTIONS"
.PP
\-\-persistent
.RS 4
Open the database as a persistent database\&.
.sp
Exactly one of \-\-persistent and \-\-non\-persistent must be specified\&.
.RE
.PP
\-\-non\-persistent
.RS 4
Open the database as a non\-persistent database\&.
.sp
Caveat: opening a database as non\-persistent when there is currently no other opener will wipe the database\&.
.sp
Exactly one of \-\-persistent and \-\-non\-persistent must be specified\&.
.RE
.PP
\-?|\-\-help
.RS 4
Print a summary of command line options\&.
.RE
.PP
\-\-usage
.RS 4
Display brief usage message\&.
.RE
.PP
\-d|\-\-debuglevel=DEBUGLEVEL
.RS 4
\fIlevel\fR
is an integer from 0 to 10\&. The default value if this parameter is not specified is 1 for client applications\&.
.sp
The higher this value, the more detail will be logged to the log files about the activities of the server\&. At level 0, only critical errors and serious warnings will be logged\&. Level 1 is a reasonable level for day\-to\-day running \- it generates a small amount of information about operations carried out\&.
.sp
Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&.
.sp
Note that specifying this parameter here will override the
\m[blue]\fBlog level\fR\m[]
parameter in the
/etc/samba/smb\&.conf
file\&.
.RE
.PP
\-\-debug\-stdout
.RS 4
This will redirect debug output to STDOUT\&. By default all clients are logging to STDERR\&.
.RE
.PP
\-\-configfile=<configuration file>
.RS 4
The file specified contains the configuration details required by the client\&. The information in this file can be general for client and server or only provide client specific like options such as
\m[blue]\fBclient smb encrypt\fR\m[]\&. See
/etc/samba/smb\&.conf
for more information\&. The default configuration file name is determined at compile time\&.
.RE
.PP
\-\-option=<name>=<value>
.RS 4
Set the
\fBsmb.conf\fR(5)
option "<name>" to value "<value>" from the command line\&. This overrides compiled\-in defaults and options read from the configuration file\&. If a name or a value includes a space, wrap whole \-\-option=name=value into quotes\&.
.RE
.PP
\-l|\-\-log\-basename=logdirectory
.RS 4
Base directory name for log/debug files\&. The extension
\fB"\&.progname"\fR
will be appended (e\&.g\&. log\&.smbclient, log\&.smbd, etc\&.\&.\&.)\&. The log file is never removed by the client\&.
.RE
.PP
\-\-leak\-report
.RS 4
Enable talloc leak reporting on exit\&.
.RE
.PP
\-\-leak\-report\-full
.RS 4
Enable full talloc leak reporting on exit\&.
.RE
.PP
\-V|\-\-version
.RS 4
Prints the program version number\&.
.RE
.SH "COMMANDS"
.SS "fetch"
.HP \w'\ 'u
dbwrap_tool <database> fetch <key> <type>
		
.SS "store"
.HP \w'\ 'u
dbwrap_tool <database> store <key> <type> <value>
		
.SS "delete"
.HP \w'\ 'u
dbwrap_tool <database> delete <key>
		
.SS "exists"
.HP \w'\ 'u
dbwrap_tool <database> exists <key>
		
.SS "erase"
.HP \w'\ 'u
dbwrap_tool <database> erase 
.SS "listkeys"
.HP \w'\ 'u
dbwrap_tool <database> listkeys
		
.SS "listwatchers"
.HP \w'\ 'u
dbwrap_tool <database> listwatchers
		
.SH "EXAMPLES"
.PP
List all keys from winbindd_idmap\&.tdb
.RS 4
dbwrap_tool
\-\-persistent winbindd_idmap\&.tdb listkeys
.RE
.PP
Fetch record with key "USER HWM" as uint32
.RS 4
dbwrap_tool
\-\-persistent winbindd_idmap\&.tdb fetch "USER HWM" uint32
.RE
.PP
Remove record with key "USER HWM"
.RS 4
dbwrap_tool
\-\-persistent winbindd_idmap\&.tdb remove "USER HWM"
.RE
.PP
Store and overwrite record "USER HWM" with value 214
.RS 4
uint32:
dbwrap_tool
\-\-persistent winbindd_idmap\&.tdb store "USER HWM" uint32 214
hex:
dbwrap_tool
\-\-persistent winbindd_idmap\&.tdb store "USER HWM" hex D6000000
.RE
.SH "NOTES"
.PP
Use with caution!
.SH "VERSION"
.PP
This man page is part of version 4\&.21\&.2\-Debian\-4\&.21\&.2+dfsg\-3~bpo12+1 of the Samba suite\&.
.SH "SEE ALSO"
.PP
\fBsmbd\fR(8),
\fBsamba\fR(7)
.SH "AUTHOR"
.PP
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
.PP
The dbwrap_tool manpage was written by Bjoern Baumbach\&.
